<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .on{
            color: red;
        }
        span{
            display: none;
        }
        .show{
            display: block;
        }
    </style>
</head>
<body>

    <div class="tab">
        <p>
            <button class="on">1</button>
            <button>2</button>
            <button>3</button>
        </p>
        <p>
            <span class="show">111</span>
            <span>222</span>
            <span>333</span>
        </p>
    </div>



    <script>


        //   classList 的使用

        //   给标签添加自定义属性



        var oTab = document.querySelector('.tab') ;
        var oBtns = oTab.querySelectorAll('button') ;
        var oSpans = oTab.querySelectorAll('span') ;

        // 循环绑定事件
        for(var i = 0 ; i < oBtns.length ; i++) {
            // oBtns[i].index = i ;   // 给对象添加自定义属性
            oBtns[i].setAttribute('index' , i) ;   // 给标签添加自定义属性
            oBtns[i].onclick = function() {
                // 清除所有on和show
                for(var i = 0 ; i < oBtns.length ; i++) {
                    oBtns[i].classList.remove('on') ;
                    oSpans[i].classList.remove('show') ;
                }
                // 给当前添加on
                this.classList.add('on') ;
                // 给当前按钮对应的下标显示show
                var x = this.getAttribute('index') ;
                oSpans[x].classList.add('show') ;
            }
        }



    </script>
    
</body>
</html>